var $table = $('#notifyList');

$(function () {
    notifyTableInit();
    // 处理页面有滚动条时，页面右侧边距缩窄
    if (window.innerWidth !== $(document).width()) {
        $('.container-fluid').addClass('p-scroll');
    }
    // 模态框显示时模糊背景
    $('.modal').on('show.bs.modal', function (e) {
        $('.container-fluid').addClass('modal-blur');
    }).on('hidden.bs.modal', function (e) {
        $('.container-fluid').removeClass('modal-blur');
    })
});

function notifyTableInit() {
    $table.bootstrapTable({
        classes: 'table table-hover table-noborder',
        url: '/NewsController/getNotifyList',
        method: 'get',
        //请求内容类型
        contentType: "application/x-www-form-urlencoded",
        dataType: 'json',        // 因为本示例中是跨域的调用,所以涉及到ajax都采用jsonp,
        uniqueId: 'id',
        idField: 'id',             // 每行的唯一标识字段
        toolbar: '#toolbar',       // 工具按钮容器
        showColumns: false,         // 是否显示所有的列
        showRefresh: false,         // 是否显示刷新按钮
        pagination: true,                    // 是否显示分页
        sortName: 'updateTm',
        sortOrder: "desc",                    // 排序方式
        queryParams: function (params) {
            var temp = {
                pageSize: params.limit,         // 每页数据量
                // offset: params.offset,       // sql语句起始索引
                pageIndex: (params.offset / params.limit) + 1,
                /*sort: params.sort,           // 排序的列名
                sortOrder: params.order,      // 排序方式'asc' 'desc'*/
                searchInfo: $.trim($('#searchInfo').val()),
                /*publicStatus: $('#status-select option:selected').val()*/
            };
            return temp;
        },                                   // 传递参数
        sidePagination: "server",            // 分页方式：client客户端分页，server服务端分页
        pageNumber: 1,                       // 初始化加载第一页，默认第一页
        pageSize: 5,                        // 每页的记录行数
        pageList: [5],
        columns: [{
            field: 'id',
            title: '序号',
            width: '6%',
            formatter: function (value, row, index) {
                return index + 1;
            },
            rowStyle: {css: {'display': 'inline-block'}}

        }, {
            field: 'title',
            title: '标题',
            width: '16%',
            formatter: paramsMatter,
            cellStyle: {
                css: {
                    'white-space': 'nowrap',
                    'overflow': 'hidden',
                    'text-overflow': 'ellipsis',
                }
            }
        },  {
            field: 'createPeople',
            title: '发布人'
        }, {
            field: 'createTm',
            title: '发布时间',
            width: '16%',
            sortable: true,   // 是否排序
        }, {
            field: 'updatePeople',
            title: '最后操作人'
        }, {
            field: 'updateTm',
            title: '最后操作时间',
            width: '16%',
            sortable: true,   // 是否排序
        }, {
            field: 'operate',
            title: '操作',
            width: '9%',
            formatter: function (value, row, index) {
                let edit = '';
                let del = '';
                if (row.deleteStatus == 0) {
                    del = '<a href="#!" class="btn del-btn" title="删除" data-toggle="tooltip"><i class="mdi mdi-window-close"></i></a>';
                }
                let html = '<a class="js-create-tab btn m-r-10 show-btn" href="#!" data-url="/front/newsController/getNotifyDetail?id=' + row.notifyId + '" data-title="新闻详情"  title="查看" data-toggle="tooltip"><i class="mdi mdi-eye"></i></a>' + del;
                return html;
            },
            events: {
                'click .edit-btn': function (event, value, row, index) {
                    $("#recipient-name").val(row.title)
                },
                'click .del-btn': function (event, value, row, index) {
                    delUser(row.notifyId);
                },
                'click .show-btn': function (event, value, row, index) {
                    showUser(row);
                }
            }
        }
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords,
                    "page": result.totalPages,
                    "limit": 1
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function(data) {
            //表格加载完根据发布状态判断是否置顶列是否显示 0——显示；1——不显示
            let publicStatus = $('#status-select option:selected').val();
            if (publicStatus == 1) {
                $table.bootstrapTable('hideColumn', 'isTop');
            } else {
                $table.bootstrapTable('showColumn', 'isTop');
            }
            $("[data-toggle='tooltip']").tooltip()
        }
    });
}

function paramsMatter(value, row, index) {
    var valTip;
    if(value.length>9) {
        valTip = value.substring(0, 8)+"..."
    } else {
        valTip = value
    }
    return [
        '<span style="color: #4d5259" href="#" data-html="true" data-toggle="tooltip" title=' + value + '>' + valTip + '</span>',
    ].join('');
}




// 操作方法 - 删除
function delUser(id) {
    $.alert({
        title: '提示',
        content: '确定删除吗？',
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary',
                action: function () {
                    $.ajax({
                        type: "get",
                        url: "/NewsController/deleteNotify",
                        data: {id: id},
                        dataType: 'json',
                        success: function (data, status) {
                            if (data.code == '000000') {
                                $table.bootstrapTable('refresh', data);
                                $.alert('删除成功!');
                            } else {
                                $.alert('删除失败!');
                            }

                        },
                        error: function () {
                            $.alert('删除失败，请稍后再试!');
                        }
                    });
                }
            },
            cancel: {
                text: '取消',
                action: function () {
                }
            }
        }
    });

}